home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / packet / monax25 / paper.doc < prev    next >
Text File  |  1987-10-30  |  29KB  |  648 lines

  1.  
  2. Performance Monitoring
  3.       -or-
  4. "I wanna fix it, is it broke?"
  5.  
  6. Skip Hansen, WB6YMH
  7. Harold Price, NK6K
  8.  
  9. Presented at the 6th ARRL Computer Networking Conference
  10. Redondo Beach, California, August 1987
  11.  
  12.  
  13. Abstract
  14.  
  15.  
  16. Much of the performance information on Amateur Packet Radio is 
  17. anecdotal and ephemeral; a subjective and non-detailed account 
  18. usually limited to a gross statement of "goodness" or "badness",
  19. which is neither well documented nor long remembered.  While 
  20. there are several papers which describe the expected performance 
  21. of CSMA-type systems, there is little actual data about the live 
  22. amateur packet system.  
  23.  
  24. The authors discuss the need for accumulating performance data 
  25. and describe work in progress to supply performance measurement 
  26. software using a C program and a TNC with KISS software.
  27.  
  28.  
  29. 1.  Why Performance Monitoring?
  30.  
  31. Big changes are coming in amateur packet radio.  In early 1987, 
  32. most of the amateur packet network was based exclusively on AX.25 
  33. and digipeaters.  By the end of 1988, if not sooner, much of the 
  34. packet world will be made of up a conglomeration of NET/ROM, 
  35. TEXNET, TCP/IP, and other systems interconnecting 40,000 AX.25-
  36. based users.  Each will be implemented and installed by 
  37. packeteers eager to make the network better than it was before.
  38.  
  39. Each system contains a myriad of trade-offs and compromises.  
  40. Each system has several tuning knobs which can be used to 
  41. modify the way it operates, affecting both local user 
  42. performance and global network performance.  In many cases, these 
  43. knobs will be cranked by people with no data on how things are 
  44. running and therefore no way to tell if anything got better.  In 
  45. other cases, the knobs will be tuned to optimize local 
  46. performance, to the undetected detriment of the rest of the 
  47. network.
  48.  
  49. Performance data is vital to a local network.  It is needed 
  50. before the current network can be tuned, and it should be 
  51. available to those who will help specify the next network.  Put 
  52. simply, if you don't know what you have now, how will you know 
  53. if what you get next is any better?
  54.  
  55.  
  56. 1.1  We've already missed one chance.
  57.  
  58. We've already missed one chance to monitor a major change, and in 
  59. California, we've missed a second.  The first version of AX.25 
  60. did not use the Poll/Final facility of LAPB.  In that version, if 
  61. an acknowledgment of a data frame was not received, the data 
  62. frame was re-transmitted.  If multiple data frames were 
  63. outstanding, only the first one was re-sent. In the second 
  64. version of AX.25, the poll/final facility was implemented.  In 
  65. AX25v2, if a data frame is not acknowledged, a "poll" is sent 
  66. out, soliciting a new acknowledgment.  If that ack does not 
  67. indicate that the data frame was received, the data frame is then 
  68. retransmitted, otherwise transmission continues with new data 
  69. frames.
  70.  
  71. Any change to a protocol like the one described above entails 
  72. some cost.  Whether it is the effort involved in updating and 
  73. distributing new software, or the trek to a snowed in 
  74. mountaintop to swap ROMS, some of our limited people resources are 
  75. expended.  In the poll/final update, was a improvement in network 
  76. performance obtained that in some way offset the effort involved in 
  77. implementing it and updating the user base?
  78.  
  79. Unfortunately, we'll never know.  Since there was no network 
  80. performance data before the change, and none was taken after, 
  81. there is no way to tell.  Our only indication is indirect; one 
  82. of the original major proponents of the change to poll/final is 
  83. now suggesting that poll/final not be used in some cases. [1] 
  84.  
  85. For future changes, we must do better.
  86.  
  87.  
  88. 1.2 NET/ROM
  89.  
  90. In California, the old digipeater backbone which connected 
  91. northern California, southern California, and Arizona has been 
  92. largely supplanted by NET/ROM nodes.  We had no data showing the 
  93. performance of the old system, and we have no data on the 
  94. performance of the new system.  It is therefore difficult to 
  95. measure the improvement.  
  96.  
  97.  
  98. 2.  Field Experience vs. Theoretical Predications.
  99.  
  100. There is a large amount of literature on the topic of packet 
  101. switching systems, and on packet radio.  Some is quite accessible 
  102. to the average amateur, one networking textbook in particular, by 
  103. Tanenbaum [2],  has been cited so often that it is stocked by 
  104. local amateur radio stores.  There is little written, however, on 
  105. packet as it is practiced in the amateur radio world.  In most 
  106. cases, if you notice the discussion leaning toward the way we do 
  107. it, you find it given as an example of the wrong way.  Actually, 
  108. the word "wrong" is seldom used, "less optimal" is more common.
  109.  
  110. Much of the non-amateur networking experience of those who make 
  111. up the amateur packet radio community is in the area of local 
  112. area networks (LANs).  Although there are a great many common 
  113. problems and solutions between commercial LANs and the amateur 
  114. packet network, there is a danger in assuming calculated 
  115. performance parameters for the former have relevance in the 
  116. later.  Unfortunately, there is a tendency, with a lack of actual 
  117. data, to use predicted LAN data in design and implementation 
  118. discussions as if it were gospel.
  119.  
  120. A LAN, as discussed in Tanenbaum [2] page 286, generally has three 
  121. distinctive characteristics:
  122.  
  123. 1.   A diameter of not more than a few kilometers.
  124. 2.   A total data rate exceeding 1 Mbps.
  125. 3.   Ownership by a single organization.
  126.  
  127.  
  128. Although (1) is of importance only as it relates to propagation 
  129. delay for very high data rates, (2) and (3) are worthy of note.  
  130. The standard data rate in 1987 is still 1200 baud.  There are 
  131. 56kbps modems being beta tested now, but that is still only 6% of 
  132. 1 Mbps.  Ownership by a single organization is also something 
  133. that is unusual in the amateur radio network.  Item (3) tends to 
  134. lead to either a homogeneous set of network hardware, a common 
  135. set of goals, or at least a common forum for discussing those 
  136. items.  In the amateur world, users and implementors in northern 
  137. California, Southern CA, and Arizona don't get together very 
  138. often.  That's another advantage of (1), in Los Angeles, one node 
  139. can cover a area with a diameter of 200 miles.
  140.  
  141. Many of the studies done on LAN performance make assumptions that 
  142. are not valid in the amateur environment.  One study, for 
  143. example, from [2] page 289 assumed:
  144.  
  145. o   All packets are of constant length
  146.  
  147. o   There are no errors, except those caused by collisions.
  148.  
  149. o   There is no capture effect.
  150.  
  151. o   Each station can sense the transmissions of all other 
  152.     stations.
  153.  
  154. None of these assumptions hold for our current environment.
  155.  
  156. Another difference between our network and more commonly modeled 
  157. networks is in the large number of autonomous stations we have on 
  158. the network, and the large number of different traffic patterns 
  159. running simultaneously.  During the three days that data was 
  160. gathered for this paper, 371 transmitters were on the air at some 
  161. time in southern California.  The peak number of active 
  162. transmitters on a single 1200 baud frequency in a single five 
  163. minute interval was 42.  Most modeled networks have higher baud 
  164. rates and/or low data throughput, and assume traffic is moving 
  165. between a large number of outlying stations and a central 
  166. station.
  167.  
  168. Again, while there is much value in reading and modeling, we 
  169. should make the attempt to measure what we have; both to feed the 
  170. result back into the models, and to establish a base against 
  171. which future modifications can be judged.
  172.  
  173.  
  174.  
  175.  
  176. 2.  The Current State of Affairs.
  177.  
  178. There appears to be only one kind of monitoring being done in 
  179. amateur packet radio today.  The two most common BBS systems, by 
  180. W0RLI and by WA7MBL, both produce a log of BBS activities.  An 
  181. analysis program produces a report for the BBS operator of the 
  182. number of connects from users and the number of messages 
  183. forwarded, among other items.  While this gives a BBS operator 
  184. some idea of his local usage patterns, it does little to 
  185. described total network activity, or even the throughput the BBS 
  186. experiences.
  187.  
  188. For global network performance we are left with anecdotal 
  189. evidence, e.g., "01 really stinks tonight" (translation:  
  190. performance is less than expected), and "I had no problem with 01 
  191. today" (translation: I'm retired and was on at 10:00am).
  192.  
  193. For local user performance, we get "I can talk to Utah all night 
  194. long", and "I haven't been able to connect up north all week".  
  195. Obviously, we need something better.
  196.  
  197.  
  198. 3.  It's not easy
  199.  
  200. There are two ways of looking at network performance, one is from 
  201. the network's point of view, the other is from the user's point 
  202. of view.  In the first case we are interested in how the channel 
  203. is performing, in the simplest view, how many bytes of data it is 
  204. carrying.  Is the network carrying a large number of user bytes, 
  205. or is most of the capacity going to overhead or retries?  Are we 
  206. losing data to collisions, or to bad RF paths?
  207.  
  208. In the second case, the user's point of view, the questions are 
  209. more toward what level of service an individual user is getting 
  210. from the network.  Is the response time from distant locations 
  211. adequate?  Do many connections time-out?  Are some destinations 
  212. unreachable due to congestions or path failures?
  213.  
  214. There are several ways of acquiring performance data.  One is to 
  215. have each user station collect it.  As updating 40,000 user's is 
  216. a non-trivial exercise, we've chosen another route.  A specialized 
  217. monitor station sits at a central place and looks at all the 
  218. activity on the channel.  Unfortunately, it isn't easy to answer 
  219. any of the questions from a third party monitor station.  Some 
  220. of the problems are discussed below.
  221.  
  222.  
  223. 3.1   The problem is, it's Radio.
  224.  
  225. In most wire based, broadcast-type LANs, a monitor program can 
  226. make the assumption that if it heard a packet, everyone else in 
  227. the LAN heard the packet.  More importantly, if it didn't hear a 
  228. packet, no one else did either.  Even if the LAN is relaying data 
  229. between two other LANs, it is at least certain that for data 
  230. originated on the LAN or destined for the LAN, the monitor has a 
  231. high probability of having the seen the same data as the other 
  232. stations on the LAN.  In the amateur packet network, due to 
  233. hidden terminals, the FM capture effect, and propagation, all 
  234. stations do not hear the same packets.
  235.  
  236. If the monitor station heard all packets, it could easily follow 
  237. the state of all connections on the LAN.  For connection oriented 
  238. protocols like AX.25 and TCP, and providing the monitor has been 
  239. up as long as the other stations on the LAN, the monitor can tell 
  240. how long a connection has been in place based on the circuit 
  241. start and end protocols.  In the amateur radio case, the monitor 
  242. station can not be certain that it heard all packets.  It may 
  243. miss a circuit startup or end.  It must instead be prepared to 
  244. infer that a connection exists because it sees data flowing, or 
  245. that a circuit has closed because it has seen no data for an 
  246. interval of time.  This will add uncertainty to data gathered in 
  247. an RF environment but it does not invalidate the entire effort.
  248.  
  249. Although collisions can be directly detected on a wire LAN, they 
  250. can not be as easily detected on radio.  Due to the capture 
  251. effect, a stronger FM station will completely override a weaker 
  252. station such that stronger packet is received without error, 
  253. even though two packets were being transmitted at the same time.  
  254. A collision may be inferred if the received packet is seen again.
  255.  
  256. Some tasks then become exercises in gather as much information as 
  257. possible, and then making an educated guess.  Still, this is 
  258. better than no data at all.
  259.  
  260.  
  261. 3.2 Users are Easy to Replace.
  262.  
  263. It is somewhat easier to gather user oriented data, e.g., does a 
  264. path to station X exist at this time, or what is the round-trip 
  265. delay for packets between Los Angeles and Salt Lake City.  The 
  266. monitor station can actually be a user and directly measure these 
  267. values.
  268.  
  269. While data can be gathered about the performance of the channel at a 
  270. specific time in this way, this alone will not supply information 
  271. about the global network status at the time the measurement was 
  272. taken.  To be able to draw a meaningful conclusion from the data, 
  273. aside from variable X was equal to Y at time T, other information 
  274. is needed, such as the number transmitters on the air, and the 
  275. number of other packets on the channel.  In sort, both types of 
  276. monitoring must be performed, direct measurement of user 
  277. performance and global network measurement.
  278.  
  279. 4.  Monitoring Software
  280.  
  281. The software currently under development by the authors addresses 
  282. the problem of global network monitoring.  Other types of 
  283. monitoring will be added in the future.  
  284.  
  285. In this early version of the software, we are attempting to 
  286. determine what sorts of questions can be answered by a program 
  287. which listens to a channel and takes note of the packets it hears.  
  288. Some questions, such has how many total bytes are being 
  289. received at the monitor site, how many transmitters are seen, how 
  290. many beacons are heard, are easy to answer.
  291.  
  292. A much more difficult question is "How many times does the 
  293. average forwarding BBS send a 20k file before it goes all the way 
  294. without timing out?"  The type of information we're collecting, 
  295. and the type of questions that can be answered, are discussed 
  296. below.
  297.  
  298.  
  299. 4.1  Questions to Answer
  300.  
  301. There are two basic questions which are reasonably easy to answer.
  302. One is "What is the efficiency of the channel", the other is "How 
  303. many users does the channel support".  
  304.  
  305. We have chosen to define efficiency as the ratio of the number 
  306. of unique bytes of user data on the channel verses the total 
  307. number of bytes on the channel.  "Unique data bytes" is our term 
  308. for actual user data not including frame overhead, retransmitted 
  309. copies, or digipeated copies.  For example, if the string "hello" 
  310. is entered, digipeated once, not acked, retransmitted, 
  311. redigipeated, and acked, the total number of bytes on the channel 
  312. would be 168, the number of unique data bytes is 5, an efficiency 
  313. of 2.9%.  If 256 user bytes are sent and directly acked, the 
  314. efficiency is 88%.
  315.  
  316.  
  317. To keep statistics on each user of the channel, we store pairs of 
  318. Source and Destination calls from the frame header.  The pair is 
  319. called a circuit.  A normal two-way connection would consist of 
  320. two circuits.  If NK6K and WB6YMH were connected, one circuit 
  321. would be (TO:NK6K,FROM:WB6YMH), the other circuit would be 
  322. (TO:WB6YMH,FROM:NK6K).  Statistics for each circuit are maintained 
  323. separately.
  324.  
  325. In addition to two basic questions, we wanted to be able to determine 
  326. the number of digipeaters the circuit used, what the average size 
  327. of a data frame was, the number of RNR (input blocked) frames 
  328. transmitted, and similar questions.  Since this required looking 
  329. into the control fields of the frame, the standard TNC interface 
  330. was unsuitable.  
  331.  
  332.  
  333. 4.2  KISS
  334.  
  335. We chose the KISS TNC interface to give us access to all fields 
  336. of the frame.  KISS sends the entire frame, minus the checksum, to 
  337. the terminal port using an async framing format.  The KISS 
  338. interface has been implemented on the TAPR TNC 1,  the TAPR TNC 2 
  339. and clones, and on the AEA PK-232.  The KISS software for the TNC 
  340. 2 is included with the KA9Q TCP/IP package.
  341.  
  342. There are no modifications required to the KISS code for use in 
  343. this application.
  344.  
  345.  
  346. 4.3  Software Design
  347.  
  348. The current implementation of the monitor package consists of 
  349. three programs.
  350.  
  351. o  STATS.EXE - This program monitors the received frames and 
  352. accumulates data, periodically dumping the data into a log file.  
  353. STATS also displays the addresses, data, control fields, and a 
  354. "retry" flag in real-time as frame are received.  NET/ROM and 
  355. TCP/IP control fields are also displayed.
  356.  
  357. o  REPORT.EXE - This program massages selected data from the log 
  358. file into a form suitable for passing to a plotting program.  The 
  359. plotting program is not included.
  360.  
  361. o  AVERAGE.EXE - This program massages the output of REPORT, 
  362. combining and averages the records into larger intervals of time.  
  363. This can result in clearer plots.
  364.  
  365.  
  366. 4.3.1  STATS.EXE
  367.  
  368. STATS collects data over a five minute interval, storing it into 
  369. several different tables.  These tables are then written into the 
  370. log file at the end of each interval, along with a time stamp 
  371. record.  The tables are summarized below.
  372.  
  373.  
  374. Digipeater Data.
  375.  
  376. The total number of packets and bytes heard from a digipeater is 
  377. stored, along with the call of the digipeater.
  378.  
  379.  
  380. Frequency Data.
  381.  
  382. Totals on bytes and packets heard on the channel without regard 
  383. to source are maintained.  Packet are also counted by length into
  384. five buckets: 32, 64, 128, 256, and greater than 256 bytes.  The 
  385. total number of ticks of the 18.2 Hz clock when the data carrier 
  386. detect (DCD) line was high are recorded, as are the number of 
  387. ticks when DCD was low.
  388.  
  389.  
  390. Circuit Data.
  391.  
  392. Several items are stored for each circuit, or TO:/FROM: pair.  
  393. This includes the number of digipeaters used, the Protocol ID 
  394. Byte (PID) of the last I frame received in the interval, the 
  395. total number of packets and bytes received, the number of unique 
  396. packets and bytes received, and the number of packets and bytes 
  397. ignoring those heard from multiple digipeaters.  Also included is 
  398. the number of unique frames heard of each frame type (sabm, ua, 
  399. etc.), the number of frames with POLL, and the number of frames 
  400. with FINAL.  The number of I frames heard is also counted into 
  401. five buckets based on the data size: 32, 64, 128, 256, and 
  402. greater than 256 bytes.
  403.  
  404. As an indication of the difficulty of accurately determining the 
  405. status of a frame, the algorithm used to determine uniqueness is 
  406. described below.
  407.  
  408.  
  409. Uniqueness
  410.  
  411. Depending on the packet type one of three different algorithms 
  412. are used to test for uniqueness.
  413.  
  414. I frames are judged to be unique if the N(s) variable matches the 
  415. expected V(s), or if the locally computed checksum of the 
  416. information portion of the current frame does not match the 
  417. checksum of the last frame received with the same N(s).  Note 
  418. that the checksum is only used to resolve the ambiguity resulting 
  419. from lost frames.  An algorithm based solely on checksums would 
  420. be confused easily by data streams containing identical 
  421. consecutive lines.  For example consider the transmission of text 
  422. files containing multiple blank lines separating pages.  In such 
  423. cases several consecutive packets would contain identical 
  424. information, a single carriage return, but still be unique.
  425.  
  426. S and U type frames are judged to be unique if the control field 
  427. of the current frame is different than the control field the last 
  428. S or U frame received.  Note that this does not detect retries of 
  429. frames such as multiple SABMs sent because the target station is 
  430. not responding.  
  431.  
  432. UI frames are judged to be unique frames if the checksum of the 
  433. information field of the current frame is different than the 
  434. checksum of the last UI frame which was received.  
  435.  
  436.  
  437. Digipeated frame filtering logic
  438.  
  439. The various "non-digipeated" counters in the software are 
  440. designed to show the number of times a particular frame appears 
  441. on the channel without regard to multiple retransmissions by 
  442. digipeaters.  The "non-digipeated" counters are advanced once and 
  443. only once regardless of how many digipeater hops are observable 
  444. by the monitoring station.  This data is used to determine the 
  445. number of retries of a packet without confusing a retry for a 
  446. digipeat.
  447.  
  448. The software maintains bit maps of observed hops for its use in 
  449. filtering out digipeated frames. A separate bit map of observed 
  450. hops is maintained for UI, S and U frames types as well one bit 
  451. map for each outstanding I frame. There are 9 bits in each map 
  452. which correspond to the originating station plus up to 8 
  453. digipeaters.
  454.  
  455. A frame is considered to be "non-digipeated" when it is either 
  456. heard for the first time or it is heard from a hop from which it 
  457. had been previously heard.  The first condition is met when a 
  458. frame is first transmitted, the second condition is met when a 
  459. frame is retransmitted successive times. If neither case is met 
  460. the frame is a digipeated frame and is not used to increment the 
  461. "non-digipeated" counters. 
  462.  
  463. The digipeat bit map is cleared when either the uniqueness 
  464. subroutine determines the frame is unique or when the digipeat 
  465. filter subroutine determines that the frame is a retransmission.
  466.  
  467.  
  468. 4.3.2  REPORT.EXE
  469.  
  470. REPORT produces several output formats.  The RAW format displays 
  471. each field in each record.  This is useful if a particular 
  472. interval is being examined in detail, or when debugging STATS.  
  473. Several other formats are used to produce data for plotting.  One 
  474. report totals all circuit data for an interval.  Examples of this 
  475. output are provided later.
  476.  
  477.  
  478. 4.4  Hardware
  479.  
  480. As discussed above in the section on KISS, TNC 1 and TNC 2 
  481. clones, and the AEA PK-232 can be used with this software.  If the 
  482. DCD ON and OFF times are desired, a jumper must be added.  
  483.  
  484. DCD Jumpering
  485.  
  486. Since most of the current TNC designs use the DCD signal on the RS-232 
  487. interface as a connect status indicator it is necessary to modify 
  488. the TNC hardware slightly to provide a true modem DCD on the RS-232 
  489. interface.  The modification for the TNC 2 and clones is very 
  490. simple, consisting of a single jumper wire.  The jumper goes 
  491. between pin 2 of the modem disconnect header (DCD output from the 
  492. modem) and the pin of JMP1 which is NOT connected to +5 volts 
  493. (input to the DCD driver).  On the MFJ-1270B artwork the correct 
  494. pin of JMP1 is the one closest to the front panel.  The authors 
  495. have not researched modifications to other TNC designs, but it is 
  496. expected the modifications will be similar.  It is NOT necessary 
  497. to perform the DCD modification to run the monitoring software, 
  498. it is only necessary if the statistics of DCD activity are 
  499. desired.
  500.  
  501. Most terminal software used on packet will be unaffected by this
  502. modification, however most BBS software will require the jumper to 
  503. be removed for normal operation.
  504.  
  505. The software was developed on an IBM PC/AT using Microsoft C 4.0.  
  506. It should be easily transportable to other systems provided a 
  507. suitable serial port interface is available.
  508.  
  509. A hard disk is highly recommended.  Twenty-four hours of data for 
  510. 145.01 MHz as monitored in southern California produced 500k 
  511. bytes of log file data.  This may be reduced, of course, by 
  512. increasing the interval time.
  513.  
  514.  
  515.  
  516. 5.  Examples
  517.  
  518. We used the STATS program to acquire performance data on all of 
  519. the active packet channels in southern California.  The 
  520. monitoring site used for 145.01 MHz was at 700 feet on Palos 
  521. Verdes.  On this frequency, the site can "see" 8 NET/ROM nodes.  
  522. During the 24 hours during which 145.01 was monitored, from 00:00 
  523. to 23:59 local time on a Thursday, 105 total transmitters were 
  524. seen.
  525.  
  526. The data shown in the sample graphs is based on the five minute 
  527. interval data from STATS, which was then processed by REPORT.  
  528. The output of REPORT was then averaged by AVERAGE into 15 minute 
  529. samples.  Each point plotted represents the average of three five 
  530. minute intervals.
  531.  
  532. Figure 1 shows the number of user circuits seen in an interval.  
  533. A "user circuit" is a subset of the total circuits; beacons, 
  534. repeater ids, and other circuits consisting of a small number of 
  535. UI frames have been removed.  The peak of data just after midnight 
  536. is caused by forwarded BBS traffic, large broadcast messages such 
  537. as newsletters are restricted to being forwarded between 00:00 
  538. and 8:00 by local custom.
  539.  
  540. Figure 2 shows the total bytes per minute.  Further analysis of 
  541. the data would show the distribution of bytes in the peaks; how 
  542. much is destined for local users, and how much is going 
  543. "overhead", passing through the backbone to other NET/ROM 
  544. locations.  The major NET/ROM path through to Arizona is still on 
  545. 145.01, this should change before the summer is out.  It will be 
  546. interesting to see what effect moving the backbone will have on 
  547. this graph.
  548.  
  549. Figure 3 shows the efficiency of the channel, computed as 
  550. discussed above.
  551.  
  552. Figure 4 is a plot of efficiency vs. the number of user circuits 
  553. on the channel.  The distribution on a plot of efficiency vs. 
  554. total packets is similar to this one.  The occurrence of low 
  555. efficiency over the entire range of users (and number of packets) 
  556. shows that there are causes of low efficiency other than 
  557. congestion.  One interpretation would be that more data is lost 
  558. due to poor RF paths than to collisions.  Another would be that 
  559. hidden terminals are causing problems.  Further analysis of the 
  560. data, coupled with a knowledge of the geography and stations 
  561. involved, might result in information that could be used to 
  562. improve the network.
  563.  
  564.  
  565. 6.  Other Uses / Future Goals
  566.  
  567. Once a basic set of data gathering tools and formats has been 
  568. define, the applications are boundless.  For example, STATS can 
  569. be used to make improvements to the current 14.109 HF forwarding 
  570. scheme.  For example, data gathered during the day on Friday, 
  571. July 29, shows that of the two top stations in terms of the total 
  572. bytes transmitted, shows that one had 30% better efficiency than 
  573. the other.  If monitoring was continued, and the trend continued 
  574. over time, it may mean that the less efficient station is trying 
  575. to reach stations beyond its range, or that there are local 
  576. receiver problems.  It also means that the monitor station was 
  577. hearing more data frames from the transmitting station that the 
  578. target station was, perhaps the mail between those stations 
  579. should be re-routed.
  580.  
  581. STATS can be used to check propagation between the monitor 
  582. station and other stations.  Figure 5 shows then number of bytes 
  583. received on 14.109 MHz in a 24 hour period. It can also be used to 
  584. infer propagation between other station.  For example, if you 
  585. hear a station in Indiana sending packets to Seattle and the 
  586. efficiency is high, then a path must exist between those two 
  587. points, even if you do not hear packets from Seattle at the 
  588. monitor site.
  589.  
  590. The "unique" subroutine can be used filter retries out of a 
  591. monitored connection as the data of the connection is displayed.  
  592. AEA offers a similar feature on some of its TNCs.  STATS will be 
  593. updated in the future to allow the capture of filtered text from 
  594. each circuit into files for later review.  This can serve several 
  595. purposes, as a diagnostic aid, a periodic check for intruders on 
  596. the amateur network as required by the FCC, or to satisfy the 
  597. standard urge to "read the mail".
  598.  
  599. This type of data collection could also assist in message traffic 
  600. analysis, e.g., how many bytes are in the average connection?  
  601. Are most of the BBS messages forwarded on a channel destined for 
  602. users in the local area or are they just passing through?
  603.  
  604. Currently, STATS monitors at the link-layer level.  Higher layer 
  605. protocols such as TCP/IP and NET/ROM add additional complications 
  606. to traffic analysis, primarily in determining the actual 
  607. origination and destination point.  Work remains to be done in 
  608. this area.
  609.  
  610.  
  611. 7.  Conclusion
  612.  
  613. There is much good to be gained from gathering and analyzing 
  614. performance data.  It can tell us where we are and suggest where 
  615. we might go.  It will also help determine if we like where we've 
  616. gone once we get there.  The work discussed here is a start 
  617. toward developing tools to aid in this task.  Others are invited 
  618. to participate.
  619.  
  620.  
  621. 8.  Availability
  622.  
  623. The software described in this paper is available in source form 
  624. from the WB6YMH-2 BBS on 145.36 in southern California.  This BBS 
  625. is also available by phone for those not in the local area at 
  626. (213) 541-2503.  Updates will periodically be sent to the HAMNET 
  627. BBS on Compuserve.
  628.  
  629.  
  630. 9. Acknowledgments
  631.  
  632. Thanks to Craig Robins, WB6FVC, for his help in the preparation 
  633. of this paper.  Thanks also to those who have implemented the 
  634. KISS code for the TNC 1 and TNC 2, and the folks at AEA.
  635.  
  636.  
  637. 10. References.
  638.  
  639. [1]  Karn, P., KA9Q, "Proposed Changes to AX.25 Level 2", informal 
  640. paper circulated on various mail systems and reprinted in the 
  641. July/August 1987 NEPRA PacketEar, the newsletter of the New 
  642. England Packet Radio Association.
  643.  
  644. [2] Tanenbaum, A., "Computer Networks", Englewood Cliffs, NJ: 
  645. Prentice Hall, 1981.
  646.  
  647.  
  648.